|
LinuxQMISDK
SLQS04.00.27
|
Firmware Management Service API function prototypes. More...
Go to the source code of this file.
Data Structures | |
| struct | fwinfo_s |
| struct | slqsfwinfo_s |
| struct | slqsfwpartno_s |
| struct | qmifwinfo_s |
| struct | firmwarefileinfo_s |
| struct | ImageElement |
| struct | PrefImageList |
| struct | ImageIdElement |
| struct | ImageIDEntries |
| struct | ImageList |
| struct | sGetDeviceSeriesResult |
| struct | SWI_STRUCT_CarrierImage |
| struct | CurrImageInfo |
| struct | CurrentImgList |
Firmware Management Service API function prototypes.
| #define BUILD_ID_LEN TOTAL_IMAGE_ID_STRING_SIZE |
| #define BUILD_ID_MAX_LEN 255 |
| #define DEVICE_OFFLINE 3 |
| #define DEVICE_RESET 4 |
| #define DEVICE_SHUTDOWN 5 |
| #define FIRMWARE_UPDATE_FAIL 0x01 |
| #define FIRMWARE_UPDATE_SUCCESS 0x01 |
| #define FIRMWARE_UPGRADE_SUCCESS 0x00 |
| #define FMS_IMAGE_PATH_MAX_SZ 512 |
| #define G3K_FIRMWARE_DOWNLOAD 1 |
| #define GOBI_LISTENTRIES_MAX 2 |
| #define GOBI_MBN_BUILD_ID_STR_LEN TOTAL_IMAGE_ID_STRING_SIZE |
| #define GOBI_MBN_IMG_ID_SIZE 16 |
| #define GOBI_MBN_IMG_ID_STR_LEN TOTAL_IMAGE_ID_STRING_SIZE |
| #define GOBI_SET_IMG_PREF_RSPLEN 40 |
| #define IMG_ID_LEN TOTAL_IMAGE_ID_STRING_SIZE |
| #define IMGDETAILS_LEN 16 |
| #define MAX_IMAGE_IDE_ELEMENTS 50 |
| #define PRI_UPDATE_FAIL 0x02 |
| #define SLQSBCHDATESIZE 8 /* size of release data string */ |
| #define SLQSBCHVERSTRSIZE 84 /* size of download file's version name string */ |
| #define SLQSFWINFO_APPVERSION_SZ 85 |
| #define SLQSFWINFO_BOOTVERSION_SZ 85 |
| #define SLQSFWINFO_CARRIER_SZ 20 |
| #define SLQSFWINFO_CUR_CARR_NAME 17 |
| #define SLQSFWINFO_CUR_CARR_REV 13 |
| #define SLQSFWINFO_MODELID_SZ 20 |
Copyright: © 2011-2020 Sierra Wireless, Inc. all rights reserved
| #define SLQSFWINFO_PACKAGEID_SZ 85 |
| #define SLQSFWINFO_PART_NO_SZ 15 |
| #define SLQSFWINFO_PRIVERSION_SZ 16 |
| #define SLQSFWINFO_SKU_SZ 15 |
| #define SLQSIMINFO_MAX_SZ 20 |
| #define SPKG_FIRMWARE_DOWNLOAD 2 |
| #define TOTAL_IMAGE_ID_STRING_SIZE 100 |
| #define UNIQUE_ID_LEN 16 |
| enum EFileImgType |
Name: EFileImgType
Purpose: Enumerate different PRI type
Members: eFILE_TYPE_NONE - Start of list eFILE_TYPE_CAR_PRI - Carrier PRI file (file name starts with “9999999_”) eFILE_TYPE_OEM_PRI - OEM PRI file (file name strats with valid SKU such as “1104125_”) eFILE_TYPE_COMPO_PRI - A compound PRI files contain both Carrier PRI and OEM PRI
| Enumerator | |
|---|---|
| EFILE_TYPE_NONE | |
| EFILE_TYPE_CAR_PRI | |
| EFILE_TYPE_OEM_PRI | |
| EFILE_TYPE_COMPO_PRI | |
| enum eGobiDeviceSeries |
| enum eGobiImageCarrier |
enumeration which lists the carrier supported by the image
| enum eGobiImageGPS |
| enum eGobiImageRegion |
| enum eGobiImageTech |
| enum EImageType |
Name: EImageType
Purpose: Enumerate some supported BC image types
Members: EIMAGE_TYPE_MIN - Start of list EIMAGE_TYPE_BOOT - boot composite image EIMAGE_TYPE_APPL - application composite image EIMAGE_TYPE_APPS - apps such as yocto image EIMAGE_TYPE_FILE - Generic file such as Carrier PRI EIMAGE_TYPE_SPKG - Sierra package, spk image, OEM PRI image EIMAGE_TYPE_MODM - modem composite image, modem firmware cwe image EIMAGE_TYPE_USER - image for 0:USERDATA, e.g. legato EIMAGE_TYPE_KEYS, - Keystore image, signed key information EIMAGE_TYPE_MAX - End of list EIMAGE_TYPE_INVALID - invalid image type EIMAGE_TYPE_ANY - any image type
Notes: none
Used to delete the specified image from the device. This API function is only relevant to devices with the ability to store multiple firmware images(see Device Supported section below).
| imageInfoSize[IN] |
|
| pImageInfo[IN] |
|
| ULONG DownloadToSlot | ( | CHAR * | path, |
| struct slqsfwinfo_s | fwImgInfo, | ||
| struct slqsfwinfo_s | priImgInfo, | ||
| BYTE | slot, | ||
| BYTE | forceDownload | ||
| ) |
This API is dedicated for downloading a firmware image into a specific slot. it is used for MC7430/MC7455/EM7430/EM7455 only
| path |
|
| fwImgInfo |
|
| priImgInfo |
|
| slot |
|
| forceDownload |
|
| void eGetDeviceSeries | ( | struct sGetDeviceSeriesResult * | ) |
| ULONG GetImagesPreference | ( | ULONG * | pImageListSize, |
| struct PrefImageList * | pImageList | ||
| ) |
restore original alignment from stack Gets the current images preference from the device.
| pImageListSize[IN/OUT] | |
| pImageList[OUT] |
|
Returns the image store folder, i.e., the folder containing one or more carrier-specific image subfolders compatible with the currently connected QC WWAN device.
| imageStorePathSize |
|
| pImageStorePath[OUT] |
|
restore original alignment from stack Gets the list of images stored on the device.
| pImageListSize[IN/OUT] | |
| pImageList[OUT] |
|
This API is used to set image path for firmware download
| path[IN] |
|
| isMDM9x15[IN] |
|
| imgMask[IN] |
|
| mdmProtocol[IN] |
|
| ULONG SetImagesPreference | ( | ULONG | imageListSize, |
| BYTE * | pImageList, | ||
| ULONG | bForceDownload, | ||
| BYTE | modemIndex, | ||
| ULONG * | pImageTypesSize, | ||
| BYTE * | pImageTypes | ||
| ) |
Sets the current images preference on the device. After this function successfully completes, the device must be reset for the selected image preference to be realized. Additionally, when the returned list of image types that require downloading is not empty, the device opens in QDL mode after the reset. At that point, the QDL portion of this API must be used to download the selected image preference to the device.
| imageListSize |
|
| pImageList[IN] |
|
| bForceDownload[IN] |
|
| modemIndex |
|
| pImageTypesSize[IN/OUT] |
|
| pImageTypes[OUT] | -The download image types array. |
This API is used to download firmware to a specific slot id of the modem. It is only applicable for EM7430/EM7455 variant. This API encapsulates all steps involved in the firmware download process.Hence it is a blocking API call.
This API will not return until the entire process has been completed. This API will takes significant amount of time (in order of minutes, normally should be less than 10 minutes).
This API Performs the following steps:
| pPath[IN] |
|
| slot_index[IN] |
|
| force_download[IN] |
|
Gets the boot loader version number
| bootversion[OUT] |
|
| ULONG SLQSGetFirmwareFileInfo | ( | CHAR * | pPath, |
| struct firmwarefileinfo_s * | pInfo, | ||
| BYTE * | pNumOfItems | ||
| ) |
This API Get the firmware information of the provided image
| IN] | pPath
|
| OUT] | pInfo
|
| OUT] | pNumOfItems
|
| ULONG SLQSGetFirmwareInfo | ( | struct qmifwinfo_s * | pinfo | ) |
Returns firmware image information from the connected device
| pinfo[OUT] |
|
| ULONG SLQSGetImageInfo | ( | LPCSTR | path, |
| struct qmifwinfo_s * | pinfo | ||
| ) |
Returns firmware image information from a CWE file or mbn files stored on the host. For CWE, information is returned for the first CWE image found at the specified path. For MBN, the provided path must be located under the image store for the currently connected QC WWAN device. Note that as this API supports multiple firmware image types, it relies on the presence of a supported device. Otherwise, refer to SLQSGetImageInfoMC83xx and SLQSGetImageInfoMC77xx for APIs which do not rely on the presence of a supported device.
| path[IN] |
|
| pinfo[OUT] |
|
| ULONG SLQSGetImageInfo_9x15 | ( | LPCSTR | path, |
| BYTE | imgType, | ||
| struct slqsfwinfo_s * | pinfo | ||
| ) |
Returns firmware image information from a CWE file(s) stored on the host. It does not rely on the presence of a supported device.
| path[IN] |
|
| imgType[IN] |
|
| pinfo[OUT] |
|
| ULONG SLQSGetImageInfoMC77xx | ( | LPCSTR | path, |
| struct qmifwinfo_s * | pinfo | ||
| ) |
Returns firmware image information from a SPKGS CWE file stored on the host. The information is returned for the first SPKGS CWE image found at the specified path. This API executes independent of a MC77xx being connected to the target.
| path[IN] |
|
| pinfo[OUT] |
|
| ULONG SLQSGetImageInfoMC83xx | ( | LPCSTR | path, |
| struct qmifwinfo_s * | pinfo | ||
| ) |
Returns firmware image information from an MBN file located on the host. This API executes independent of a MC83xx being connected to the target.
| path[IN] |
|
| pinfo[OUT] |
|
| ULONG SLQSGetImagePartNumber | ( | LPCSTR | path, |
| BYTE | imgType, | ||
| struct slqsfwpartno_s * | pinfo | ||
| ) |
Returns firmware image part number by a well defined cwe spkg format firmware file
| path[IN] |
|
| pinfo[OUT] |
|
| ULONG SLQSGetValidFwPriCombinations | ( | struct ImageList * | pStoredImageList, |
| ULONG * | pValidCombinationSize, | ||
| struct SWI_STRUCT_CarrierImage * | pValidCombinations | ||
| ) |
This API distills valid Firmware/PRI combinations from GetStoredImages result
| [in] | pStoredImageList |
|
| [in,out] | pValidCombinationSize |
|
| [out] | pValidCombinations |
|
| int SLQSIsBootloaderDebugEnabled | ( | const char * | szPath, |
| const char * | pQsn | ||
| ) |
This API is used to check if the bootloader is debug enabled or not for the specified QSN
| szPath[IN] |
|
| pQsn[IN] |
|
| BOOL SLQSIsSpkgFormatRequired | ( | void | ) |
Check if SPKG format download is required for SL9090/MC9090, it returns the value whcih was set by API SLQSSetSpkgFormatRequired()
| none |
| void SLQSSetCrashStateCheckIgnore | ( | BOOL | ignore | ) |
This API is used to set whether ignore crash state checking before proceed firmware download using the API UpgradeFirmware2k().
| [in] | ignore |
|
| ULONG SLQSSetSIMBasedImageSwitching | ( | void | ) |
This API is used to enable the SIM-based Image Switching. The modem will reboot automatically to take effect of the enabing
| void SLQSSetSpkgFormatRequired | ( | BYTE | isneeded | ) |
Set if SPKG format download is required for SL9090/MC9090
| isneeded | [INPUT] user inputs the firmware download method preference
|
| ULONG SLQSSwiGetAllCarrierImages | ( | ULONG * | pNumOfItems, |
| struct SWI_STRUCT_CarrierImage * | pCarrierImages, | ||
| char * | pFolderPath | ||
| ) |
This API gets a list of all images stored on both the host and the device
| pNumOfItems |
|
| pCarrierImages[OUT] | |
| pFolderPath |
|
| ULONG SLQSSwiGetFirmwareCurr | ( | CurrentImgList * | pCurrentImgList | ) |
This API gets the currently active images on the device.
| pCurrentImgList |
|
This API is used to download firmware to a WP760x device.
This API Performs the following steps:
| pDestinationPath[IN] |
|
This API is used to upgrade firmware on a MC73xx device. This API encapsulates all steps involved in the firmware download process. It is an alternative to any firmware download application. Hence it is a blocking API call. This API will not return until the entire process has been completed.
This API Performs the following steps:
| pDestinationPath[IN] |
|
This API is used to download firmware to a 9x07 or 9x50 device.
| pDestinationPath[IN] |
|
This API is used to download firmware to a MC77xx or Gobi 3000 device. For SL909/MC9090, SLQSSetSpkgFormatRequired() needs to be called in advance to specify the download method, Gobi3K or SPKG download, please refer to the API SLQSSetSpkgFormatRequired() for more details of the input values. If SLQSSetSpkgFormatRequired() is not called in advance, it will us Gobi3K firmware download method (MBN files) as the default download method.
This API Performs the following steps:
| pDestinationPath[IN] |
|